package com.superf.taobao.entity;

import com.superf.taobao.util.BookUtil;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class ShoppingCart {
	private Map<String,CartItem> cart = new HashMap<>();//购物车
	
	public Map<String, CartItem> getCart() {
		return cart;
	}

	/**
	 * 获取购物项数量
	 * @return
	 */
	public long getSize(){
		return cart.size();
	}

	//购书方法
	public void addCart(String id,int amount){
		//判断购物项中是否有已经有这本书了，有的话，直接修改购物项的数量，
		//没有去创建一个购物项放到购物车中
		CartItem item = cart.get(id);//取出购买商品所对应购物车中的购物项
		//没有购物项
		if(item==null){
			 item = new CartItem(BookUtil.findBookById(id), amount);
			 cart.put(id, item);//把购物项放到购物车中
		}else{
			item.setAmount(item.getAmount()+amount);
		}
	}
	
	//修改购物项中商品的数量
	public void modifyAmount(String id,int amount){
		CartItem item = cart.get(id);//取出购买商品所对应购物车中的购物项
		if(amount==0){
			cart.remove(id);//清除购物项
		}else{
			item.setAmount(amount);
		}
	}
	
	//清除购物车
	public void clearCart(){
		if(cart!=null){
			cart.clear();//清除购物车
		}
	}
	
	/**
	 * 得到购物车的总金额
	 * @return
	 */
	public double getTotalPrice(){
		double total = 0;
		Set<Entry<String, CartItem>> entrys = cart.entrySet();
		for(Entry<String, CartItem> entry:entrys){
			total+=entry.getValue().getSubTotal();
		}
		return total;
	}
	
	
	

}
